﻿#ifndef __M2M_SERIAL_CONSOLE_H
#define __M2M_SERIAL_CONSOLE_H
#include "delay.h"
#include "sys.h"

#define M2MSerial_CmdUnit 12  //江氏指令表以12字节为一个数据包
#define M2MSerial_RxMaximunDelay 2000  //允许延迟2s
#define M2MSerial_TxDelay 10	
#define M2MSerial_HeartBeatRoutine 50//十毫秒为心跳包发送周期

extern u8 *M2MSerial_Address;
extern u8 M2MSerial_RxWaiting;
extern u8 M2MSerial_TxMode;
extern u16 M2MSerial_RxWaitingTim;
extern u8 OK_Respond[];
extern u8 ERR_Respond[];
extern u8 M2MSerial_RxCmd[M2MSerial_CmdUnit+1];//加多一位给“\0”
extern u8 M2MSerial_TxCmd[M2MSerial_CmdUnit+1];

extern u8 Flag_USARTHeartBeat;//心跳包发送标志位

void M2MSerial_Control(void);//板间通讯串口服务函数
void M2MSerial_RxToCmd(void); //将接收到的串口数据转换为程控指令
void M2MSerial_CmdToTx(void); //将程控指令转换为串口数据发送出去
void M2MSerial_ConnectionStatueCheck(void);		//检查连接状态，报心跳接收超时和发送无反应出错
void M2MSerial_ErrorReaction(void);   //判断串口数据的错误反馈并作出反应

#endif


